package com.tomorrow.feign;

import com.tomorrow.fallback.UserClientFallback;
import com.tomorrow.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

//@FeignClient注解标注该接口是一个feign客户端接口，类似于@Mapper
//接口中定义方法，完全采用SpringMVC的注解，Feign会根据注解帮我们生成URL，并访问获取结果
//熔断操作也需要进行适当变化，之前的也可以使用，但一般在与openFeign集成后进行适当修改,openFeign只有方法级别的降级，每一个方法均需要设置一个降级方法
@FeignClient(value = "service-provider", fallback = UserClientFallback.class)
public interface UserClient {
    @GetMapping("/user/{id}")
    User findUserById(@PathVariable("id") Integer id);
}
